home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-08-29 | 3.7 KB | 107 lines |
- Screen Open 0,320,200,16,Lowres
- Curs Off : Cls 0 : Flash Off : Paper 0 : Pen 1 : Hide
- Double Buffer : Screen Swap
- Autoback 0
- 'Load "Monkey.abk"
- Get Sprite Palette
- A$=" Let X=0 ; Let Y=100 ; Let R0=0 ; Let R1=1 ; Anim 0,(7,1) ; Jump Seta ; "
- A$=A$+"Seta: P ; I R9>29 Jump Vnotfa ; "
- A$=A$+"Wback: Let Y=R9/2+Y ; Let R9=R9+1 ; "
- A$=A$+" If J1 & 16 Jump Fire ; "
- A$=A$+"Kback: If J1 & 4 Jump Left ; "
- A$=A$+" If J1 & 8 Jump Right ; "
- A$=A$+" If R0=1 Jump Arigh ; "
- A$=A$+" If R0=2 Jump Bleft ; "
- A$=A$+"Xback: If Y>RB Jump Ybottom ; "
- A$=A$+" If J1 & 1 Jump Jump ; "
- A$=A$+" If R7=1 Jump Pump ; "
- A$=A$+"Tback: If J1 & 2 Jump Udown"
- A$=A$+" Jump Seta ; "
- A$=A$+"Right: If X>298 Jump Erran ; "
- A$=A$+" Let X=X+2 ; "
- A$=A$+" If R8=1 Jump Hrigh ; "
- A$=A$+" If R0=1 Jump Xback ; "
- A$=A$+" Anim 0,(1,5)(2,5)(3,5)(4,5)(5,5)(6,5) ; Let R0=1 ; Let R1=1 ; "
- A$=A$+" Jump Xback ; "
- A$=A$+"Left: If X<2 Jump Gfran ; "
- A$=A$+" Let X=X-2 ; "
- A$=A$+" If R8=1 Jump Ileft ; "
- A$=A$+" If R0=2 Jump Xback ; "
- A$=A$+" Anim 0,(11,5)(12,5)(13,5)(14,5)(15,5)(16,5) ; Let R0=2 ; Let R1=2 ; "
- A$=A$+" Jump Xback ; "
- A$=A$+"Fire: If RA>0 Jump Kback ; "
- A$=A$+" If R1=1 Jump Crire ; "
- A$=A$+" If R1=2 Jump Dlire ; "
- A$=A$+"Arigh: If R8=1 Jump Xback ; Anim 1,(8,8)(7,1) ; Move 10,0,5 ; Let R0=0 ; Jump Seta ;"
- A$=A$+"Bleft: If R8=1 Jump Xback ; Anim 1,(18,8)(17,1) ; Move -10,0,5 ; Let R0=0 ; Jump Seta ;"
- A$=A$+"Crire: Let RA=1 ; If R0>0 Jump Kback ; Anim 1,(9,11)(7,11) ; Jump Kback ;"
- A$=A$+"Dlire: Let RA=2 ; If R0>0 Jump Kback ; Anim 1,(19,11)(17,1) ; Jump Kback ; "
- A$=A$+"Erran: Let X=300 ; Anim 1,(7,1) ; Let R0=0 ; Jump Xback; "
- A$=A$+"Glran: Let X=0 ; Anim 1,(17,1) ; Let R0=0 ; Jump Xback ; "
- A$=A$+"Jump: Let R7=1 ; If R8=1 Jump Seta ; Let R8=1 ; Let R9=0-RC ; Jump Seta ; "
- A$=A$+"Pump: Let R9=R9+3 ; If R9>0 Jump Qnojum ; Jump Tback ; "
- A$=A$+"Qnojum:Let R7=0 ; Jump Tback ; "
- A$=A$+"Ybot: Let R9=0-R9/4+1 ; Let R8=0 ; Let Y=RB ; Jump Xback ; "
- A$=A$+"Hrigh: Anim 1,(8,2)(7,1) ; Let R0=0 ; Let R1=1 ; Jump Xback ; "
- A$=A$+"Ileft: Anim 1,(18,2)(17,1) ; Let R0=0 ; Let R1=2 ; Jump Xback ; "
- A$=A$+"Udown: Let R9=R9+1 ; Jump Seta ; "
- A$=A$+"Vnofas:Let R9=29 ; Jump Wback ; "
- SHOT$="A: Let X=X+R0 ; P ; If X>320 Jump B ; "
- SHOT$=SHOT$+" If X<-10 Jump B ; Jump A ; "
- SHOT$=SHOT$+"B: Let Y=-10 ; C: P ; If Y>0 Jump A ; Jump C ; "
- SHOT=2 : SHOTS=6
- Dim SHOT(6)
- For A=16 To 31
- Colour A,4095
- Next
- For A=1 To SHOTS
- Channel A To Bob A : Bob A,0,0,0
- Amal A,SHOT$
- Next
- Amreg(1)=100
- Amreg(2)=14 : LI=3 : AM=99
- Dim LE(21,20)
- Open In 1,"Level1.map"
- For Y=0 To 15
- For X=0 To 19
- LE(X,Y)=Asc(Input$(1,1))
- Next
- LE(X,Y)=LE(X-1,Y)
- Next
- Close 1
- For X=0 To 19
- For Y=0 To 12
- Ink LE(X,Y),0,0
- Bar X*16,Y*16 To X*16+15,Y*16+15
- Next
- Next
- Home : Print "LIVES:";LI
- Screen Copy Logic(0) To Physic(0)
- Home : Pen 3 : Print "LIVES:";LI;" ";
- Amal 1,A$
- Amal On
- Wait Vbl
- Do
- B=Amreg(0)
- Y=Y Bob(1)
- For A=2 To SHOTS
- If Y Bob(A)<0 Then SHOT(A)=0 : If Timer>30 and B=3 Then Amreg(0)=0
- Next
- If Fire(1)=0 Then Timer=31
- If(B=1 or B=2) and AM>0 Then Dec AM : Gosub SHOT
- X=Max(X Bob(1)/16,0) : Y=Max((Y+62)/16,0)
- If LE(X,Y)<>0 or LE(X+1,Y)<>0 Then Amreg(1)=Y*16-48
- If LE(X,Y)=0 and LE(X+1,Y)=0 Then Amreg(1)=200 : Amreg(1,8)=1
- If Y=16 Then Gosub LIVELOST
- Wait Vbl
- Loop
- SHOT: Amreg(0)=3 : Timer=0 : If Y<-19 Then Return
- If B=1 Then Bob SHOT,X Bob(1)+40,Y+20,22 : Amreg(SHOT,0)=7 Else Bob SHOT,X Bob(1)-27,Y+20,21 : Amreg(SHOT,0)=-7
- SHOT(SHOT)=1 : Add SHOT,1,2 To SHOTS : Return
- LIVELOST:
- Dec LI
- Screen Swap : Home : Pen 1 : Print "LIVES:";LI;" ";
- Screen Swap : Home : Pen 3 : Print "LIVES:";LI;" ";
- Boom : Amreg(1)=-48
- If LI=0 Then End
- Return